package course.examples.AudioVideo.Ringtone; import android.app.Activity; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class AudioVideoRingtoneManagerActivity extends Activity { private Ringtone mCurrentRingtone; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Get the default Phone Ringer RingTone and play it. final Button ringtoneButton = (Button) findViewById(R.id.button1); ringtoneButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Uri ringtoneUri = RingtoneManager .getDefaultUri(RingtoneManager.TYPE_RINGTONE); playRingtone(RingtoneManager.getRingtone( getApplicationContext(), ringtoneUri)); } }); // Get the default Notification RingTone and play it. final Button notifButton = (Button) findViewById(R.id.button2); notifButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Uri ringtoneUri = RingtoneManager .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); playRingtone(RingtoneManager.getRingtone( getApplicationContext(), ringtoneUri)); } }); // Get the default Alarm RingTone and play it. final Button alarmButton = (Button) findViewById(R.id.button3); alarmButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Uri ringtoneUri = RingtoneManager .getDefaultUri(RingtoneManager.TYPE_ALARM); playRingtone(RingtoneManager.getRingtone( getApplicationContext(), ringtoneUri)); } }); } // Shut off current Ringtone and play new one private void playRingtone(Ringtone newRingtone) { if (null != mCurrentRingtone && mCurrentRingtone.isPlaying()) mCurrentRingtone.stop(); mCurrentRingtone = newRingtone; if (null != newRingtone) { mCurrentRingtone.play(); } } @Override protected void onPause() { playRingtone(null); super.onPause(); } }